Within the field of robotics, there now exist robots, sometimes referred to as robotic workstations, which have multiple manipulators, that is, multiple work-performing members, such as parts grippers for example, which are movable independent of each other. An example of such a multiple manipulator robotic workstation is the AT&T FWS 200 workstation, available from AT&T, Princeton, N.J., which is comprised of a frame that supports a ferromagnetic platen from which depends a pair of independently movable manipulators. Each manipulator includes a linear motor of the type disclosed in U.S. Pat. Nos. Re. 27,289, issued on Feb. 15, 1972, and Re. 27,436, issued on Jul. 18, 1972, to B. A. Sawyer (herein incorporated by reference), which serves to propel the manipulator on the platen along a rectilinear path. Depending from each manipulator is a z-axis actuator which carries a tool, e.g., a vacuum pickup, at its lowermost tip for performing an operation, such as a pick-and-place operation, on a workpiece situated on a work surface in spaced parallelism below the platen.
A common problem associated with multiple manipulator robots of the type described above is the possibility of an interference (e.g., a collision) between the manipulators as each moves along a particular path segment in the course of performing a designated operation. One possible approach to avoiding such an interference is to employ a semaphore, that is, an indicator, typically a numerical value, which signals when a particular manipulator occupies a region that can be occupied by the other manipulator. For example, in the above-described robot, the area on the platen overlying a workpiece, such as a circuit board, is one region which is common to both manipulators. For as long as either of the manipulators is occupying this common region, a semaphore corresponding to the region is accorded a non-zero value which is decremented to zero upon the manipulator leaving the region. Before the other manipulator can enter this common region, a check is made whether the associated semaphore is zero. Until the semaphore is zero, the manipulator which is to enter the region must wait until the manipulator currently occupying the region has left. This approach to avoiding an interference between manipulators is inefficient from the standpoint that as long as a manipulator occupies any part of a common region, the other manipulator must wait before entering the region even if it could safely enter without the risk of an interference.
In U.S. Pat. No. 4,890,241, issued on Dec. 26, 1989, a slightly different scheme is proposed for avoiding interference between each of a pair of manipulators of a robotic workstation. As described in that patent, an interference is avoided between two manipulators by "allocating" (e.g., reserving) the entire rectilinear path traveled by the first one of the manipulators. While the path segment of this particular manipulator remains allocated, no other manipulator may travel across any part of the allocated path. Once the first manipulator has completed its travel along its allocated path, the path is de-allocated, making it available for travel by another manipulator. The disadvantage of this approach is that while a particular manipulator's path is allocated, every other manipulator must wait before crossing the path, even if such a crossing could be completed without incurring any interference. Like the previously described approach, this approach also incurs the disadvantage of being inefficient from the standpoint that manipulator movement must be halted to avoid an interference.
Thus, there is need for a technique for dynamically controlling the motion of multiple manipulators so as to avoid any interference between them.